Overview
Software Engineering is concerned primarily with the systematic and disciplined approach to developing software systems. It requires the application of both computer engineering and computer science principles and practices to the creation, operation, and maintenance of software systems and applications. Software systems are becoming increasingly complex, and emerging technologies are pushing the boundaries of reusable components and software quality assurance. The growth of software use in all areas and aspects of everyday life has increased over the past decades and has now become an integral part of society. The reliance on software in critical areas including infrastructure, transportation, utilities, national security, and defense has resulted in the need for properly trained and motivated individuals. ACM along with IEEE, has also indicated in their Computing Curricula 2020 (Dec 31st. 2020), that there has also been a shift away from knowledge-based learning to competency-based learning. They define competency as a combination of Knowledge (know-what) + Skills (know-how) + Disposition (know-why). This program brings together these areas using fundamental software courses to provide base knowledge, mid-level and advanced application areas with practical examples to build the competencies and the communication, intellectual, social and moral dispositions needed in this field.
This Program prepares students for successful careers in various software related jobs such as Software Developers, Quality Assurance Analysts, Computer Programmers, Web Developers, Database Administrators, Information Security Analyst and Testers. This program will not satisfy the licensure requirements for professional engineering registration.
To prepare students to meet these challenges, this Program establishes a solid foundation of software system fundamentals, coupled with strong hands-on experience and an understanding of professional practice and conduct. In addition to the core curriculum in software engineering, students are introduced to the paradigms of real-time, adaptive, and collaborative software systems, through a wide range of technical elective courses from the Department of Electrical and Computer Engineering. Students may also use courses from other departments with academic advisor approval. The technical electives allow students to apply the knowledge they have gained to different application areas. This provides valuable hands-on experience in contemporary application areas, which enhances the students’ potential career development opportunities.
Domain Areas
The program includes optional additional domain area concentrations as a guide for elective selection. These allow students to gain more depth in various domain areas of interest by taking advanced undergraduate courses in these areas. Each concentration provides courses that students should take to further their competency in the selected domain area. The domain area concentrations are Artificial Intelligence and Cybersecurity.
Curriculum Requirements
Code | Title | Credit Hours |
---|---|---|
Required Engineering Courses | ||
EGN 110 | Innovation and Entrepreneurship in Engineering | 3 |
or EGN 114 | Global Challenges Addressed by Engineering and Technology | |
EGN 123 | Computing and Digital Solutions for the future | 3 |
ECE 118 | Introduction to Programming | 3 |
ECE 211 | Logic Design | 3 |
ECE 212 | Processors: Hardware, Software, and Interfacing | 3 |
ECE 218 | Data Structures | 3 |
ECE 315 | Digital Design Laboratory | 1 |
ECE 318 | Algorithms | 3 |
ECE 322 | Systems Programming | 3 |
ECE 368 | Internet Computing I | 3 |
ECE 376 | Introduction to Cybersecurity (NEW COURSE Introduction to Cybersecurity) | 3 |
ECE 412 | Software Engineering and Architecture | 3 |
ECE 413 | Software Design and Verification | 3 |
ECE 421 | Computer Operating Systems | 3 |
ECE 467 | Database Design and Management | 3 |
ECE 470 | Network Client-Server Programming | 3 |
ECE 481 | Senior Project I | 1 |
ECE 482 | Senior Project II | 2 |
Software Engineering Technical Electives and/or Concentrations | 18 | |
SE Technical Electives | ||
300 Level and above ECE or CSC courses with approval of the Undergraduate Program Director. Two electives may also be taken from CIM412, CIM413, CIM422, CIM443, CIM453. | ||
Artificial Intelligence Concentration (9 credit hours) | ||
Principles of Artificial Intelligence | ||
Machine Learning | ||
Neural Networks | ||
Cybersecurity Concentration (9 credit hours) | ||
Communication Networks | ||
Internet and Intranet Security | ||
Mobile Computing | ||
Math + Science | ||
ECE 310 | Introduction to Engineering Probability | 3 |
MTH 151 | Calculus I for Engineers (fulfills Quantitative Skills Proficiency Requirement)) | 5 |
MTH 162 | Calculus II | 4 |
MTH 210 | Introduction to Linear Algebra | 3 |
MTH 309 | Discrete Mathematics I | 3 |
Basic Science (/Lab) | 12 | |
Basic Science (/Lab) Electives are selected in consultation with the Academic Advisor from courses in Biology, Chemistry, Environmental Science, Geological Science, Marine Science, or Physics. | ||
General Education Requirements | ||
Written Communication Skills: | ||
WRS 105 | First-Year Writing I | 3 |
WRS 107 | First-Year Writing II: STEM | 3 |
Quantitative Skills: | ||
Calculus I for Engineers (fulfilled through the major) | ||
Areas of Knowledge: | ||
Arts & Humanities Cognate | 9 | |
People & Society Cognate | 9 | |
STEM Cognate (9 credits) (fulfilled through the major) | ||
Total Credit Hours | 121 |
Sample Plan of Study
Freshman Year | ||
---|---|---|
Fall | Credit Hours | |
EGN 110 or 114 | Innovation and Entrepreneurship in Engineering or Global Challenges Addressed by Engineering and Technology | 3 |
ECE 118 | Introduction to Programming | 3 |
WRS 105 | First-Year Writing I | 3 |
MTH 151 | Calculus I for Engineers | 5 |
Credit Hours | 14 | |
Spring | ||
EGN 123 | Computing and Digital Solutions for the future | 3 |
ECE 218 | Data Structures | 3 |
WRS 107 | First-Year Writing II: STEM | 3 |
MTH 162 | Calculus II | 4 |
Credit Hours | 13 | |
Sophomore Year | ||
Fall | ||
ECE 211 | Logic Design | 3 |
ECE 318 | Algorithms | 3 |
MTH 210 | Introduction to Linear Algebra | 3 |
Basic Science (/Lab) | 4 | |
A&H Cognate Course | 3 | |
Credit Hours | 16 | |
Spring | ||
ECE 212 | Processors: Hardware, Software, and Interfacing | 3 |
ECE 315 | Digital Design Laboratory | 1 |
ECE 310 | Introduction to Engineering Probability | 3 |
ECE 368 | Internet Computing I | 3 |
MTH 309 | Discrete Mathematics I | 3 |
P&S Cognate Course | 3 | |
Credit Hours | 16 | |
Junior Year | ||
Fall | ||
ECE 322 | Systems Programming | 3 |
ECE 376 | Introduction to Cybersecurity | 3 |
ECE 412 | Software Engineering and Architecture | 3 |
Basic Science (/Lab) | 4 | |
A&H Cognate Course | 3 | |
Credit Hours | 16 | |
Spring | ||
ECE 413 | Software Design and Verification | 3 |
ECE 421 | Computer Operating Systems | 3 |
ECE 467 | Database Design and Management | 3 |
Basic Science (/Lab) | 4 | |
P&S Cognate Course | 3 | |
Credit Hours | 16 | |
Senior Year | ||
Fall | ||
ECE 481 | Senior Project I | 1 |
SE Elective 1 | 3 | |
SE Elective 1 | 3 | |
SE Elective 1 | 3 | |
SE Elective 1 | 3 | |
A&H Cognate Course | 3 | |
Credit Hours | 16 | |
Spring | ||
ECE 470 | Network Client-Server Programming | 3 |
ECE 482 | Senior Project II | 2 |
SE Elective 1 | 3 | |
SE Elective 1 | 3 | |
P&S Cognate Course | 3 | |
Credit Hours | 14 | |
Total Credit Hours | 121 |
1. See definition of SE Technical Electives under B.S.S.E Curriculum
Program Mission
Program Educational Objectives
We expect that the alumni of the Software Engineering Program will exhibit the following:
- Successful careers in dynamic and multidisciplinary fields with the ability to apply software engineering practices within societal, global, and environmental contexts in an ethical manner.
- Demonstrating life-long learning through activities such as completion of graduate degrees and/or professional development.
Student Learning Outcomes
- An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
- An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.
- An ability to communicate effectively with a range of audiences.
- An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts.
- An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.
- An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
- An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.